package com.example.demo.huawei;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

/**
 * 内存冷热比较
 */
public class Main580 {
    public static void main(String[] args) {
        Map<Integer, Integer> map = new LinkedHashMap<>();

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            int temp = sc.nextInt();
            map.put(temp, map.getOrDefault(temp, 0) + 1);
        }
        int y = sc.nextInt();
        //        System.out.println(Arrays.toString(arr));
        //        System.out.println(y);
        //        System.out.println(map);
        int count = 0;
        List<Integer> list = new ArrayList<>();
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            if (entry.getValue() >= y) {
                count++;
                list.add(entry.getKey());
            }
        }
        list.sort((o1, o2) -> {
            if (map.get(o2) - map.get(o1) != 0) {
                return map.get(o2) - map.get(o1);
            } else {
                return o1 - o2;
            }
        });
        System.out.println(count);
        list.forEach(System.out::println);
    }
}
